home *** CD-ROM | disk | FTP | other *** search
- #include <sys/signal.h>
- #include <sys/signalvar.h>
- #include "proc_mmu.h"
-
- int sigaction(int signo, const struct sigaction *new_sig, struct sigaction *old_sig)
- {
- if ((signo>0) && (signo < NSIG))
- {
- struct sigaction tmp;
- tmp.sa_handler = SIGACTION(crp, signo);
- tmp.sa_mask = crp->p_sigacts->ps_catchmask[signo];
- tmp.sa_flags = crp->p_sigacts->ps_flags;
- SIGACTION(crp, signo) = new_sig->sa_handler;
- crp->p_sigacts->ps_catchmask[signo] = new_sig->sa_mask;
- *old_sig = tmp;
- return 0;
- }
- }
-
- int sigsuspend(const sigset_t *mask)
- {
- crp->p_sigacts->ps_oldmask = *mask;
- }
-
- int sigstack(const struct sigstack *stack1, struct sigstack *stack2)
- {
- struct sigstack tmp;
- tmp = crp->p_sigacts->ps_sigstack;
- crp->p_sigacts->ps_sigstack = *stack1;
- *stack2 = tmp;
- }
-
- int sigprocmask(int signo, const sigset_t *set1, sigset_t *set2)
- {
- if ((signo>0) && (signo < NSIG))
- {
- sigset_t tmp;
- tmp = crp->p_sigacts->ps_catchmask[signo];
- crp->p_sigacts->ps_catchmask[signo] = *set1;
- *set2 = tmp;
- }
- }
-
- int sigreturn(struct sigcontext *context)
- {
-
- }
-